package cn.jolyoulu.cmnservice.utils;


import cn.jolyoulu.cmnservice.entity.po.HoldUser;

import java.util.Objects;

/**
 * @Author LuZhouJin
 * @Date 2023/3/15
 * 当前线程持有的user信息
 */
public class HoldUserUtils {

    private static final ThreadLocal<HoldUser> holdUser = new ThreadLocal<>();

    /**
     * 添加
     * @param user
     */
    public static void add(HoldUser user) {
        holdUser.set(user);
    }

    /**
     * 获取
     * @return
     */
    public static HoldUser get() {
        HoldUser user = holdUser.get();
        if (Objects.isNull(user)){
            user = new HoldUser();
        }
        return user;
    }

    /**
     * 清理
     */
    public static void remove() {
        holdUser.remove();
    }
}
